Procedural deformation adds realism to the animation of character models by using measurable properties of the current character pose to produce additional deformation. The pose of a character may be generated on a skeleton model that contains joints and links connecting joints in a process called primary animation. An animator using an animation software package such as, for example, Autodesk® Maya®, may create a rig(s) that controls the motion of joints in the skeleton model. By changing values of the rig(s), the animator may specify positions of the joints in the skeleton model in a coordinate system, for example, a three-dimensional space, at a series of time instances to produce the primary animation. A customized secondary animation for the deformation of parts that surround joints, for example, muscles or skins of a character, may be derived from the primary animation of joints. Presently, software developers work with animators to create custom applications for each secondary animation effect. Such custom applications may include, for example, bending the elbow of a character model arm causes the bicep of the same arm to flex. In such a modeling, bending the elbow further causes a crease to form on the skin between the upper arm and the forearm. FIG. 1 shows, via a graph of operations, how certain events, for example, a crease forming on the skin, may occur depending entirely upon one or more conditions, i.e., the further bending of the elbow.
The resulting deformation of a character model may be caused by many events expressed in the form of conditions. This approach is available in character model rigging. Modeling software packages need to represent these operations in a dynamic and editable way, but unfortunately, doing so tends to decrease the operational speed. A low display refresh rate of, for example, as low as 4 frames per second, may be acceptable for the use of a software package in modeling or rendering. However, a video game generally may require a rate of, for example, 60 frames per second with many characters processed at the same time. The current approach for deforming character model based on poses does not achieve a high display rate for video games. Accordingly, it is desirable to provide systems and methods for real-time pose-based character model deformation.